package com.nhncorp.yammer.util;

public interface DatetimeComparable {
	boolean isThisWeek();

	// 년-월-일만 비교할지 결정

	boolean equals(Datetime target, boolean compareOnlyDate);

	int compareTo(Datetime target, boolean compareOnlyDate);

	boolean before(Datetime target, boolean compareOnlyDate);

	boolean before(boolean compareOnlyDate);

	boolean beforeOrEquals(Datetime target, boolean compareOnlyDate);

	boolean beforeOrEquals(boolean compareOnlyDate);

	boolean after(Datetime target, boolean compareOnlyDate);

	boolean after(boolean compareOnlyDate);

	boolean afterOrEquals(Datetime target, boolean compareOnlyDate);

	boolean afterOrEquals(boolean compareOnlyDate);

	boolean between(Datetime start, Datetime end, boolean compareOnlyDate);

	boolean outOf(Datetime start, Datetime end, boolean compareOnlyDate);

	// 년-월-일 시:분:초 기준으로 비교
	boolean before(Datetime target);

	boolean before();

	boolean beforeOrEquals(Datetime target);

	boolean beforeOrEquals();

	boolean after();

	boolean after(Datetime target);

	boolean afterOrEquals(Datetime target);

	boolean afterOrEquals();

	boolean between(Datetime start, Datetime end);

	boolean outOf(Datetime start, Datetime end);
}